application building blocks